package Day_0222.NetWork;

/**
 * @author zxc
 * @date 2023/02/22 17:27
 **/
public class Session_Cookie {
    public static void main(String[] args) {
        /**
         * Session和cookie的区别。
         * ===》
         * 1.Cookie和Session所保存的位置 ：
         * （1）Cookie保存在客户端，未设置存储时间的Cookie，关闭浏览器会话Cookie就会被删除；
         *  设置了存储时间的Cookie，保存在用户设备的磁盘中直到过期，同时Cookie在客户端所以可以伪造，不是十分安全，敏感数据不易保存。
         * （2）Session保存在服务器端，存储在IIS的进程开辟的内存中，而Session过多会消耗服务器资源，所以尽量少使用Session。
         *
         * 2.Session是服务器用来跟踪用户的一种手段，每个Session都有一个唯一标识：session ID。
         * 当服务端生成一个Session时,就会向客户端发送一个Cookie保存到客户端，
         * 这个Cookie保存的是Session的SessionId这样才能保证客户端发起请求后，用户能够与服务器端成千上万的Session进行匹配，
         * 同时也保证了不同页面之间传值的正确性。
         * ===》
         * 总结 ：
         * （1）即，服务器端保存 携带有用户信息的Session;
         * （2）在用户登陆后，服务器会将 该客户对应Session的SessionID封装成Cookie 发送给客户端;
         * （3）后续，客户端就会携带者 带有SessionID信息的Cookie，来对于服务端资源进行访问和使用;
         *
         * 3.存储数据类型不同：
         * （1）Session能够存储任意的JAVA对象，
         * （2）Cookie只能存储String类型的对象。
         *
         * 4.长于10K的数据，不要用到Cookies。
         * ===》
         * 即，Cookie不能够用来存储大量数据;
         *
         */
    }
}
